package org.fastsyncer.parser.framework;

import org.fastsyncer.common.entity.MappingTask;
import org.json.JSONArray;

public interface Parser {

	/**
	 * @param mappingTask
	 *            同步任务
	 * @param startPos
	 *            开始位置
	 * @param endPos
	 *            结束位置
	 * @return Integer[]{ 总数total, 成功数success }
	 * @throws Exception
	 */
	public Integer[] parse(MappingTask mappingTask, Integer startPos, Integer endPos) throws Exception;
	
	/**
	 * 
	 * @param mappingTask
	 *            同步任务
	 * @param eventType
	 *            同步类型
	 * @param before
	 *            同步前数据
	 * @param after
	 *            同步后数据
	 * @return 执行成功/失败
	 * @throws Exception
	 */
	public boolean parse(MappingTask mappingTask, String eventType, JSONArray before, JSONArray after) throws Exception;

}
